"""设你正在编写一个程序来处理一组整数。你需要实现以下三个函数：
    1. addOne 函数：接受一个整数列表作为参数，将列表中的每个整数加 1，并返回结果列表。
    2. filterEven 函数：接受一个整数列表作为参数，返回所有偶数的列表。
    3. mapReduce 函数：接受一个整数列表和两个函数作为参数，分别是映射函数和归约函数，
    该函数首先将列表中的每个元素应用于映射函数，然后将结果应用于归约函数并返回最终结果。
要求：
    1. addOne 和 filterEven 函数必须使用高阶函数实现。
    2. 你可以使用任何你喜欢的 Scala 标准库函数来实现这些函数。"""



def addOne(list: List[Int]): List[Int] = list.map(_ + 1)

def filterEven(list: List[Int]): List[Int] = list.filter(_ % 2 == 0)

def mapReduce(list: List[Int])(mapfunc: Int => Int)(reducefunc: (Int, Int) => Int): Int = {
    list.map(mapfunc).reduce(reducefunc)
}
